/**
* @author sunke
* @Date 2023-09-22 22:03:50
* @description 员工职位
*/
package cn.jobstart.model;

import cn.jobstart.pubInter.BaseTimeDoMain;
import javax.validation.constraints.*;
import org.hibernate.validator.constraints.Length;

public class AdminJob extends BaseTimeDoMain {
    /**
     * 来源
     */
    private Integer source;

    /**
     * 排序
     */
    private Integer sortNum = 0;

    /**
     * 是否显示
     * 1:是:Y,0:否:N
     */
    private Integer showFlag = 1;

    /**
     * 是否删除
     * 1:删除:Y,0:正常:N
     */
    private Integer delFlag = 0;

    /**
     * 版本
     */
    private Integer version;

    /**
     * 企业ID
     */
    @Length(max=32,message="企业ID长度最大值32")
    private String companyId;

    /**
     * 职位名称
     */
    @Length(max=50,message="职位名称长度最大值50")
    private String title;

    /**
     * 工作城市
     */
    @Length(max=50,message="工作城市长度最大值50")
    private String workCity;

    /**
     * 薪资标识
     * 0:不限:salary_0,999:1千以下:SALARY_999,1999:1-2千:SALARY_1999,2999:2-3千:SALARY_2999,3999:3-4千:SALARY_3999,4999:4-5千:SALARY_4999,5999:5-6千:SALARY_5999,7999:6-8千:SALARY_7999,9999:0.8-1万:SALARY_9999,14999:1-1.5万:SALARY_14999,19999:1.5万-2万:SALARY_19999,29999:2万-3万:SALARY_29999,49999:3万-5万:SALARY_49999,50000:5万以上:SALARY_50000
     */
    private Integer salaryFlag;

    /**
     * 薪资描述
     */
    @Length(max=50,message="薪资描述长度最大值50")
    private String salary;

    /**
     * 学历
     * 0:不限:unlimit,1:初中及以下:middle,2:高中/中技/中专:Senior,3:大专:junior,4:本科:undergraduate,5:硕士:Master,6:博士:doctor
     */
    private Integer educationFlag;

    /**
     * 工作所在省
     */
    @Length(max=50,message="工作所在省长度最大值50")
    private String workProvince;

    /**
     * 工作地区
     */
    @Length(max=50,message="工作地区长度最大值50")
    private String workArea;

    /**
     * 工作经验
     * 0:不限:unlimit,1:1年以内:one_down,2:1-3年:one_three,3:3-5年:three_five,4: 5-10年:five_ten,5:10年以上:ten_up
     */
    private Integer workExperienceFlag;

    /**
     * 工作性质
     * 1:全职:full_time,2:兼职:part_time,3:临时:temp,4:实习:intern_ship
     */
    private Integer nature;

    /**
     * 联系人
     */
    @Length(max=50,message="联系人长度最大值50")
    private String linkman;

    /**
     * 联系电话
     */
    @Length(max=50,message="联系电话长度最大值50")
    private String phone;

    /**
     * 招聘人数
     */
    private Integer needCount;

    /**
     * 员工ID
     */
    @Length(max=32,message="员工ID长度最大值32")
    private String adminId;

    /**
     * 企业职位ID
     */
    @Length(max=32,message="企业职位ID长度最大值32")
    private String companyJobId;

    /**
     * 招聘类型
     * 0:社招:Social,1:校招:school
     */
    private Integer recruitmentType;

    /**
     * 员工姓名
     */
    @Length(max=50,message="员工姓名长度最大值50")
    private String adminTruename;

    /**
     * 备注
     */
    @Length(max=200,message="备注长度最大值200")
    private String remark;

    /**
     * 候选人数
     */
    private Integer candidateTotal;

    /**
     * 推荐简历数
     */
    private Long resumeTotal;

    /**
     * 编号
     */
    @Length(max=50,message="编号长度最大值50")
    private String numberCode;

    /**
     * 职位描述
     */
    private String detail;

    /**
     * 职位要求
     */
    private String require;

     /**
     *主键
     */
    public static final String ID = "admin_job.aj_id";

     /**
     *来源
     */
    public static final String SOURCE = "admin_job.aj_source";

     /**
     *创建时间
     */
    public static final String CREATE_TIME = "admin_job.aj_create_time";

     /**
     *更新时间
     */
    public static final String UPDATE_TIME = "admin_job.aj_update_time";

     /**
     *排序
     */
    public static final String SORT_NUM = "admin_job.aj_sort_num";

     /**
     *是否显示
     */
    public static final String SHOW_FLAG = "admin_job.aj_show_flag";

     /**
     *是否删除
     */
    public static final String DEL_FLAG = "admin_job.aj_del_flag";

     /**
     *版本
     */
    public static final String VERSION = "admin_job.aj_version";

     /**
     *企业ID
     */
    public static final String COMPANY_ID = "admin_job.aj_company_id";

     /**
     *职位名称
     */
    public static final String TITLE = "admin_job.aj_title";

     /**
     *工作城市
     */
    public static final String WORK_CITY = "admin_job.aj_work_city";

     /**
     *薪资标识
     */
    public static final String SALARY_FLAG = "admin_job.aj_salary_flag";

     /**
     *薪资描述
     */
    public static final String SALARY = "admin_job.aj_salary";

     /**
     *学历
     */
    public static final String EDUCATION_FLAG = "admin_job.aj_education_flag";

     /**
     *工作所在省
     */
    public static final String WORK_PROVINCE = "admin_job.aj_work_province";

     /**
     *工作地区
     */
    public static final String WORK_AREA = "admin_job.aj_work_area";

     /**
     *工作经验
     */
    public static final String WORK_EXPERIENCE_FLAG = "admin_job.aj_work_experience_flag";

     /**
     *工作性质
     */
    public static final String NATURE = "admin_job.aj_nature";

     /**
     *联系人
     */
    public static final String LINKMAN = "admin_job.aj_linkman";

     /**
     *联系电话
     */
    public static final String PHONE = "admin_job.aj_phone";

     /**
     *招聘人数
     */
    public static final String NEED_COUNT = "admin_job.aj_need_count";

     /**
     *员工ID
     */
    public static final String ADMIN_ID = "admin_job.aj_admin_id";

     /**
     *企业职位ID
     */
    public static final String COMPANY_JOB_ID = "admin_job.aj_company_job_id";

     /**
     *招聘类型
     */
    public static final String RECRUITMENT_TYPE = "admin_job.aj_recruitment_type";

     /**
     *员工姓名
     */
    public static final String ADMIN_TRUENAME = "admin_job.aj_admin_truename";

     /**
     *备注
     */
    public static final String REMARK = "admin_job.aj_remark";

     /**
     *候选人数
     */
    public static final String CANDIDATE_TOTAL = "admin_job.aj_candidate_total";

     /**
     *推荐简历数
     */
    public static final String RESUME_TOTAL = "admin_job.aj_resume_total";

     /**
     *编号
     */
    public static final String NUMBER_CODE = "admin_job.aj_number_code";

     /**
     *职位描述
     */
    public static final String DETAIL = "admin_job.aj_detail";

     /**
     *职位要求
     */
    public static final String REQUIRE = "admin_job.aj_require";

     /**
     *填充detail key
     */
    public static final String ADMIN_JOB_FULL_DETAIL_KEY = "ADMIN_JOB_FULL_DETAIL";

     /**
     *填充list key
     */
    public static final String ADMIN_JOB_FULL_LIST_KEY = "ADMIN_JOB_FULL_LIST";

    /**
     * 获取来源
     *
     * @return aj_source - 来源
     */
    public Integer getSource() {
        return source;
    }

    /**
     * 设置来源
     *
     * @param source 来源
     */
    public AdminJob setSource(Integer source) {
        this.source = source;
        return this;
    }

    /**
     * 获取排序
     *
     * @return aj_sort_num - 排序
     */
    public Integer getSortNum() {
        return sortNum;
    }

    /**
     * 设置排序
     *
     * @param sortNum 排序
     */
    public AdminJob setSortNum(Integer sortNum) {
        this.sortNum = sortNum;
        return this;
    }

    /**
     * 获取是否显示
     *
     * @return aj_show_flag - 是否显示
     */
    public Integer getShowFlag() {
        return showFlag;
    }

    /**
     * 设置是否显示
     * 1:是:Y,0:否:N
     *
     * @param showFlag 是否显示
     */
    public AdminJob setShowFlag(Integer showFlag) {
        this.showFlag = showFlag;
        return this;
    }

    /**
     * 获取是否删除
     *
     * @return aj_del_flag - 是否删除
     */
    public Integer getDelFlag() {
        return delFlag;
    }

    /**
     * 设置是否删除
     * 1:删除:Y,0:正常:N
     *
     * @param delFlag 是否删除
     */
    public AdminJob setDelFlag(Integer delFlag) {
        this.delFlag = delFlag;
        return this;
    }

    /**
     * 获取版本
     *
     * @return aj_version - 版本
     */
    public Integer getVersion() {
        return version;
    }

    /**
     * 设置版本
     *
     * @param version 版本
     */
    public AdminJob setVersion(Integer version) {
        this.version = version;
        return this;
    }

    /**
     * 获取企业ID
     *
     * @return aj_company_id - 企业ID
     */
    public String getCompanyId() {
        return companyId;
    }

    /**
     * 设置企业ID
     *
     * @param companyId 企业ID
     */
    public AdminJob setCompanyId(String companyId) {
        this.companyId = companyId == null ? null : companyId.trim();
        return this;
    }

    /**
     * 获取职位名称
     *
     * @return aj_title - 职位名称
     */
    public String getTitle() {
        return title;
    }

    /**
     * 设置职位名称
     *
     * @param title 职位名称
     */
    public AdminJob setTitle(String title) {
        this.title = title == null ? null : title.trim();
        return this;
    }

    /**
     * 获取工作城市
     *
     * @return aj_work_city - 工作城市
     */
    public String getWorkCity() {
        return workCity;
    }

    /**
     * 设置工作城市
     *
     * @param workCity 工作城市
     */
    public AdminJob setWorkCity(String workCity) {
        this.workCity = workCity == null ? null : workCity.trim();
        return this;
    }

    /**
     * 获取薪资标识
     *
     * @return aj_salary_flag - 薪资标识
     */
    public Integer getSalaryFlag() {
        return salaryFlag;
    }

    /**
     * 设置薪资标识
     * 0:不限:salary_0,999:1千以下:SALARY_999,1999:1-2千:SALARY_1999,2999:2-3千:SALARY_2999,3999:3-4千:SALARY_3999,4999:4-5千:SALARY_4999,5999:5-6千:SALARY_5999,7999:6-8千:SALARY_7999,9999:0.8-1万:SALARY_9999,14999:1-1.5万:SALARY_14999,19999:1.5万-2万:SALARY_19999,29999:2万-3万:SALARY_29999,49999:3万-5万:SALARY_49999,50000:5万以上:SALARY_50000
     *
     * @param salaryFlag 薪资标识
     */
    public AdminJob setSalaryFlag(Integer salaryFlag) {
        this.salaryFlag = salaryFlag;
        return this;
    }

    /**
     * 获取薪资描述
     *
     * @return aj_salary - 薪资描述
     */
    public String getSalary() {
        return salary;
    }

    /**
     * 设置薪资描述
     *
     * @param salary 薪资描述
     */
    public AdminJob setSalary(String salary) {
        this.salary = salary == null ? null : salary.trim();
        return this;
    }

    /**
     * 获取学历
     *
     * @return aj_education_flag - 学历
     */
    public Integer getEducationFlag() {
        return educationFlag;
    }

    /**
     * 设置学历
     * 0:不限:unlimit,1:初中及以下:middle,2:高中/中技/中专:Senior,3:大专:junior,4:本科:undergraduate,5:硕士:Master,6:博士:doctor
     *
     * @param educationFlag 学历
     */
    public AdminJob setEducationFlag(Integer educationFlag) {
        this.educationFlag = educationFlag;
        return this;
    }

    /**
     * 获取工作所在省
     *
     * @return aj_work_province - 工作所在省
     */
    public String getWorkProvince() {
        return workProvince;
    }

    /**
     * 设置工作所在省
     *
     * @param workProvince 工作所在省
     */
    public AdminJob setWorkProvince(String workProvince) {
        this.workProvince = workProvince == null ? null : workProvince.trim();
        return this;
    }

    /**
     * 获取工作地区
     *
     * @return aj_work_area - 工作地区
     */
    public String getWorkArea() {
        return workArea;
    }

    /**
     * 设置工作地区
     *
     * @param workArea 工作地区
     */
    public AdminJob setWorkArea(String workArea) {
        this.workArea = workArea == null ? null : workArea.trim();
        return this;
    }

    /**
     * 获取工作经验
     *
     * @return aj_work_experience_flag - 工作经验
     */
    public Integer getWorkExperienceFlag() {
        return workExperienceFlag;
    }

    /**
     * 设置工作经验
     * 0:不限:unlimit,1:1年以内:one_down,2:1-3年:one_three,3:3-5年:three_five,4: 5-10年:five_ten,5:10年以上:ten_up
     *
     * @param workExperienceFlag 工作经验
     */
    public AdminJob setWorkExperienceFlag(Integer workExperienceFlag) {
        this.workExperienceFlag = workExperienceFlag;
        return this;
    }

    /**
     * 获取工作性质
     *
     * @return aj_nature - 工作性质
     */
    public Integer getNature() {
        return nature;
    }

    /**
     * 设置工作性质
     * 1:全职:full_time,2:兼职:part_time,3:临时:temp,4:实习:intern_ship
     *
     * @param nature 工作性质
     */
    public AdminJob setNature(Integer nature) {
        this.nature = nature;
        return this;
    }

    /**
     * 获取联系人
     *
     * @return aj_linkman - 联系人
     */
    public String getLinkman() {
        return linkman;
    }

    /**
     * 设置联系人
     *
     * @param linkman 联系人
     */
    public AdminJob setLinkman(String linkman) {
        this.linkman = linkman == null ? null : linkman.trim();
        return this;
    }

    /**
     * 获取联系电话
     *
     * @return aj_phone - 联系电话
     */
    public String getPhone() {
        return phone;
    }

    /**
     * 设置联系电话
     *
     * @param phone 联系电话
     */
    public AdminJob setPhone(String phone) {
        this.phone = phone == null ? null : phone.trim();
        return this;
    }

    /**
     * 获取招聘人数
     *
     * @return aj_need_count - 招聘人数
     */
    public Integer getNeedCount() {
        return needCount;
    }

    /**
     * 设置招聘人数
     *
     * @param needCount 招聘人数
     */
    public AdminJob setNeedCount(Integer needCount) {
        this.needCount = needCount;
        return this;
    }

    /**
     * 获取员工ID
     *
     * @return aj_admin_id - 员工ID
     */
    public String getAdminId() {
        return adminId;
    }

    /**
     * 设置员工ID
     *
     * @param adminId 员工ID
     */
    public AdminJob setAdminId(String adminId) {
        this.adminId = adminId == null ? null : adminId.trim();
        return this;
    }

    /**
     * 获取企业职位ID
     *
     * @return aj_company_job_id - 企业职位ID
     */
    public String getCompanyJobId() {
        return companyJobId;
    }

    /**
     * 设置企业职位ID
     *
     * @param companyJobId 企业职位ID
     */
    public AdminJob setCompanyJobId(String companyJobId) {
        this.companyJobId = companyJobId == null ? null : companyJobId.trim();
        return this;
    }

    /**
     * 获取招聘类型
     *
     * @return aj_recruitment_type - 招聘类型
     */
    public Integer getRecruitmentType() {
        return recruitmentType;
    }

    /**
     * 设置招聘类型
     * 0:社招:Social,1:校招:school
     *
     * @param recruitmentType 招聘类型
     */
    public AdminJob setRecruitmentType(Integer recruitmentType) {
        this.recruitmentType = recruitmentType;
        return this;
    }

    /**
     * 获取员工姓名
     *
     * @return aj_admin_truename - 员工姓名
     */
    public String getAdminTruename() {
        return adminTruename;
    }

    /**
     * 设置员工姓名
     *
     * @param adminTruename 员工姓名
     */
    public AdminJob setAdminTruename(String adminTruename) {
        this.adminTruename = adminTruename == null ? null : adminTruename.trim();
        return this;
    }

    /**
     * 获取备注
     *
     * @return aj_remark - 备注
     */
    public String getRemark() {
        return remark;
    }

    /**
     * 设置备注
     *
     * @param remark 备注
     */
    public AdminJob setRemark(String remark) {
        this.remark = remark == null ? null : remark.trim();
        return this;
    }

    /**
     * 获取候选人数
     *
     * @return aj_candidate_total - 候选人数
     */
    public Integer getCandidateTotal() {
        return candidateTotal;
    }

    /**
     * 设置候选人数
     *
     * @param candidateTotal 候选人数
     */
    public AdminJob setCandidateTotal(Integer candidateTotal) {
        this.candidateTotal = candidateTotal;
        return this;
    }

    /**
     * 获取推荐简历数
     *
     * @return aj_resume_total - 推荐简历数
     */
    public Long getResumeTotal() {
        return resumeTotal;
    }

    /**
     * 设置推荐简历数
     *
     * @param resumeTotal 推荐简历数
     */
    public AdminJob setResumeTotal(Long resumeTotal) {
        this.resumeTotal = resumeTotal;
        return this;
    }

    /**
     * 获取编号
     *
     * @return aj_number_code - 编号
     */
    public String getNumberCode() {
        return numberCode;
    }

    /**
     * 设置编号
     *
     * @param numberCode 编号
     */
    public AdminJob setNumberCode(String numberCode) {
        this.numberCode = numberCode == null ? null : numberCode.trim();
        return this;
    }

    /**
     * 获取职位描述
     *
     * @return aj_detail - 职位描述
     */
    public String getDetail() {
        return detail;
    }

    /**
     * 设置职位描述
     *
     * @param detail 职位描述
     */
    public AdminJob setDetail(String detail) {
        this.detail = detail == null ? null : detail.trim();
        return this;
    }

    /**
     * 获取职位要求
     *
     * @return aj_require - 职位要求
     */
    public String getRequire() {
        return require;
    }

    /**
     * 设置职位要求
     *
     * @param require 职位要求
     */
    public AdminJob setRequire(String require) {
        this.require = require == null ? null : require.trim();
        return this;
    }
}